# -*- coding: utf-8 -*-
import hashlib
import time


def byte_to_str(value):
    if isinstance(value, bytes):
        return str(value, encoding="utf-8")
    raise Exception("Type Error")


def get_md5(value):
    """
    由于hash不处理unicode编码的字符串（python3默认字符串是unicode）
    所以这里判断是否字符串，如果是则进行转码
    初始化md5、将value进行加密、然后返回加密字串
    """
    if isinstance(value, str):
        value = value.encode("utf-8")
    md = hashlib.md5()
    md.update(value)
    return md.hexdigest()

def get_time_stamp(time_str):
    """时间字符串转换为时间戳"""
    if ':' in time_str:
        # 先转换为时间数组
        time_array = time.strptime(time_str, "%Y-%m-%d %H:%M:%S")
    else:
        time_array = time.strptime(time_str, "%Y-%m-%d")

    # 转换为时间戳
    time_stamp = int(time.mktime(time_array))
    return time_stamp
